package org.infodavid.common.ejb.components;

import javax.persistence.Column;
import javax.persistence.Embeddable;

import org.infodavid.common.model.impl.GenericPropertyImpl;

/**
 * The Class GenericPropertyComponent.
 */
@Embeddable
public class GenericPropertyComponent extends GenericPropertyImpl {

	/** The Constant serialVersionUID. */
	private static final long serialVersionUID = 2353080613615949663L;

	/**
	 * Instantiates a new generic data component.
	 * @throws Exception
	 */
	public GenericPropertyComponent() throws Exception {
		super();
	}

	/*
	 * (non-Javadoc)
	 * @see org.infodavid.common.model.impl.GenericPropertyImpl#getName()
	 */
	@Override
	@Column(name = NAME, length = 128, nullable = false, unique = false)
	public String getName() {
		return super.getName();
	}

	/*
	 * (non-Javadoc)
	 * @see org.infodavid.common.data.impl.GenericDataImpl#getScope()
	 */
	@Override
	@Column(name = SCOPE, length = 32, nullable = true, unique = false, updatable = false)
	public String getScope() {
		return super.getScope();
	}

	/*
	 * (non-Javadoc)
	 * @see org.infodavid.common.data.impl.GenericDataImpl#getType()
	 */
	@Override
	@Column(name = TYPE, length = 32, nullable = true, unique = false, updatable = false)
	public String getType() {
		return super.getType();
	}

	/*
	 * (non-Javadoc)
	 * @see org.infodavid.common.data.impl.GenericDataImpl#getValue()
	 */
	@Override
	@Column(name = VALUE, length = 512, nullable = true, unique = false, updatable = true)
	public String getValue() {
		return super.getValue();
	}

	/*
	 * (non-Javadoc)
	 * @see org.infodavid.common.data.impl.GenericDataImpl#isReadOnly()
	 */
	@Override
	@Column(name = READ_ONLY, nullable = false, unique = false, updatable = true)
	public boolean isReadOnly() {
		return super.isReadOnly();
	}
}
